মাইএসকিউএল তারিখ
তারিখগুলির সাথে কাজ করার সময় সবচেয়ে কঠিন অংশটি নিশ্চিত করা যে আপনি যে তারিখটি সন্নিবেশ করার চেষ্টা করছেন তার বিন্যাসটি ডাটাবেসের তারিখের কলামের বিন্যাসের সাথে মেলে।
যতক্ষণ আপনার ডেটাতে শুধুমাত্র তারিখ ক্ষেত্র থাকবে, আপনার প্রশ্নগুলি প্রত্যাশিত হিসাবে কাজ করবে। যাইহোক, যখন একটি সময় অঞ্চল জড়িত হয়, তখন এটি আরও জটিল হয়ে ওঠে।
মাইএসকিউএল তারিখ ডেটা প্রকার
ডাটাবেসে একটি তারিখ বা তারিখ/সময় মান সংরক্ষণ করতে MySQL নিম্নলিখিত ডেটা প্রকারের সাথে আসে:
| ডেটা টাইপ | ফর্ম |
|---|---|
| DATE | YYYY-MM-DD |
| DATETIME | YYYY-MM-DD HH:MI:SS |
| TIMESTAMP | YYYY-MM-DD HH:MI:SS |
| YEAR | YYYY বা YY |
দ্রষ্টব্য:
আপনি যখন আপনার ডাটাবেসে একটি নতুন টেবিল তৈরি করেন তখন তারিখ ডেটা টাইপ একটি কলামে সেট করা হয়!
তারিখ নিয়ে কাজ করা
নিম্নলিখিত টেবিলটি দেখুন:
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2008-11-11 |
| 2 | Camembert Pierrot | 2008-11-09 |
| 3 | Mozzarella di Giovanni | 2008-11-11 |
| 4 | Mascarpone Fabioli | 2008-10-29 |
এখন আমরা উপরের টেবিল থেকে OrderDate "2008-11-11" সহ রেকর্ড নির্বাচন করতে চাই।
আমরা নিম্নলিখিত SELECT স্টেটমেন্ট ব্যবহার করি:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
ফলাফল-সেট এই মত দেখাবে:
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2008-11-11 |
| 3 | Mozzarella di Giovanni | 2008-11-11 |
দ্রষ্টব্য:
কোন সময়ের উপাদান জড়িত না থাকলে দুটি তারিখ সহজেই তুলনা করা যেতে পারে!
তারিখ এবং সময় নিয়ে কাজ করা
এখন, ধরুন "অর্ডার" টেবিলটি এরকম দেখাচ্ছে ("অর্ডারডেট" কলামে যোগ করা সময়-উপাদানটি লক্ষ্য করুন):
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2008-11-11 13:23:44 |
| 2 | Camembert Pierrot | 2008-11-09 15:45:21 |
| 3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
| 4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
যদি আমরা উপরের মত একই SELECT স্টেটমেন্ট ব্যবহার করি:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
আমরা কোন ফলাফল পাই না! এর কারণ হল ক্যোয়ারী শুধুমাত্র সেই তারিখগুলির জন্য অনুসন্ধান করে যেগুলির একটি সময় অংশ নেই৷
পরামর্শ:
আপনার প্রশ্নগুলি সহজ এবং বজায় রাখা সহজ রাখতে, আপনার তারিখগুলিতে সময়ের উপাদানগুলি ব্যবহার করবেন না যদি না আপনাকে একেবারেই করতে হয়!